home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / mikecom / rts.asm < prev    next >
Assembly Source File  |  1987-05-15  |  1KB  |  39 lines

  1.  
  2. title RTS SET/RESET
  3. include subfx.h
  4.  
  5. ;  Mike Dumdei,  6 Holly Lane,  Texarkana TX  75503
  6.  
  7. ;******************************************************************************
  8. ; ASYNC_RTS -- Sets or clears 'request to send' based on passed flag.  Returns
  9. ;  R_NOPORT if port invalid else returns R_OK.
  10. ;******************************************************************************
  11. begseg          COMM_TEXT
  12. publicproc      _async_rts
  13.         push    bp
  14.         mov     bp,sp
  15.         push    si              ;stack frame setup
  16.         call    __ck_port_arg   ;ck if valid, load pointers
  17.         jz      rts_exit        ;bad arg if ZR flag set
  18.         mov     dx,COM_BASE
  19.         add     dx,4            ;xFC)modem control register
  20.         in      al,dx
  21.         cmp     Flag,OFF
  22.         jne     rts_on
  23.         and     al,n B_RTS      ;clear RTS bit
  24.         jmp s   snd_MCRbyte     ;exits through DTR proc
  25. rts_on:
  26.         or      al,B_RTS        ;set RTS bit
  27. snd_MCRbyte:
  28.         out     dx,al           ;send new mask to UART
  29.         xor     ax,ax           ;returning R_OK
  30. rts_exit:
  31.         pop     si
  32.         pop     bp
  33.         ret                     ;restore regs and exit
  34. _async_rts      endp
  35.  
  36. endseg          COMM_TEXT
  37.         end
  38.  
  39.